<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 作用域 : 一个变量 可以生效使用的范围  


        // 分类 :
        // 全局作用域 
            // 一个html 页面打开  就是个全局作用域 
            //这个全局作用域  称为window 
        // 局部作用域 
            // 私有作用域 
                // 只有函数才有局部作用域 
                // if for  while switch 他们的大括号 不是局部作用域 
                // 是全局作用域 
                // 等下解释  


        // 作用域的上下级关系  

        var name = '张三';
        // outer是全局作用域下的一个函数
        function outer(){
            // 这里边就是 outer 的局部作用域 又叫私有作用域 
            // outer 的父级 是window
            // outer 的子级 是fn1
            // fn1 是outer作用域内的函数 

            function fn1(){
                // fn1的父级是outer
                // fn1的子级是fn2 
                function fn2(){
                    // fn2的父级是fn1
                }
            }
        }



        // 字面量 
        // 直接显示的量  比如  'hello world'  100 true null  

        // 标识符 
        // 变量的名字  函数名的名字  函数的形参  类名


        // 变量的三个行为 
        // 定义一个变量  
            // var 名字
            // function 名字 
            // 函数名(形参) 
        // 访问一个变量 
            // 当我们需要拿到一个变量的值
            // console.log(num)   
        // 给一个变量赋值 
            // 有赋值符号   =  += -= *= /= %= **=



        // 接下来了解三个机制  


        // 变量的定义机制  
            
        // 变量的访问机制 

        // 变量的赋值机制  



    </script>
</body>
</html>